<?php

if(empty($sortBy))	$sortBy="1";
if(!empty($search))	$additionalReq .= " WHERE inn LIKE '%".$search."%' ";
$tarif=3;
$ttimefr=8;
$ttimeto=22;
//$OrgInn='';
ini_set('display_errors',1); //включение отображения ошибок
error_reporting(E_ALL);

//  запрос по организациям где есть телдефоны
  $qOrgInn="SELECT fullname, inn,chargeplanid AS tarif FROM organization1
  WHERE inn IN (SELECT inn FROM orgphonebook".$additionalReq.") ORDER BY 1";
//  запрос к временным таблицам суммарное время и соимость по всем $qOrgSumTotal sum(price)
  $qOrgSumTotal="SELECT ('12334')::numeric AS price";

//--------удалить временную таблицу
//$conn->Execute($qDT);
if($debug) echo $qOrgInn."<br>";
//if($debug) echo $q."<br>";

//if($debug) echo $qOrgAllSumMGMNTotal."<br>";

$resOrgInn = $conn->Execute($qOrgInn);

 // Напечатаем на странице все исходные параметры нашего запроса
  
  // ----------------------------------------------------------------------------
//  if(!empty($res->fields[4])) $coLineDescription = $res->fields[4];
 // if(!empty($res->fields[5])) $intPhoneDescription = $res->fields[5];
  if(empty($export)) pechat_ishodnyh();



// ----------------------------------------------------------------------------
if ($resOrgInn && $resOrgInn->RecordCount() > 0) 
{ // если по запросу найдены записи в таблице 
  // Проверим, может это экспорт?
  // ----------------------------------------------------------------------------
  // 
  if(empty($export))
  { // оформление таблицы на странице
    
    print("<table cellspacing=0 cellpadding=1 border=0><tr ".$COLORS['BaseBorderTableBgcolor'].">
    <td>
    <table cellspacing=1 cellpadding=6 border=0>");
    print ("<tr ".$COLORS['BaseTablesBgcolor']." align=center>
    <td>");
    AddTableHeader("1",$GUI_LANG['DateOfCall'],$toprint);
    echo("</td>
    <td>");
    AddTableHeader("2",$GUI_LANG['InternalPhone'],$toprint);
    echo("</td>
    <td>");
    AddTableHeader("3",$GUI_LANG['Number'],$toprint);
    echo("</td>
    <td>");
    AddTableHeader("5",$GUI_LANG['Direction'],$toprint);
    echo("</td>
    <td>");
    AddTableHeader("4",$GUI_LANG['Duration'],$toprint);
    echo("</td>
    <td>");
    AddTableHeader("6",$GUI_LANG['Price'],$toprint);
    echo("</td>
    </tr>");
  }
  else
  {// оформление таблицы на странице Да, это действительно экспорт!
    // ------------------------------------------------------------------------------------------------------
    //  --------Создать книгу эксель
  //Блок создания книги эксель
      
    $objPHPExcel = new PHPExcel();

// Set document properties
    $objPHPExcel->getProperties()->setCreator("Denis Davydov")
      ->setLastModifiedBy("Denis Davydov")
      ->setTitle("Office 2007 XLSX Test Document")
      ->setSubject("Office 2007 XLSX Test Document")
      ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")
      ->setKeywords("office 2007 openxml php")
      ->setCategory("Test result file");

    // Устанавливаем индекс активного листа
    $objPHPExcel->setActiveSheetIndex(0);
 // тут заполняем первый лист - рисование шапки и самой таблицы

      $styleArray = array(
      'font' => array(
        'name' => 'Arial',
        'size' => '8',
      ),
      'borders' => array(
        'left' => array(
          'style' => PHPExcel_Style_Border::BORDER_THIN,
        ),
        'right' => array(
          'style' => PHPExcel_Style_Border::BORDER_THIN,
        ),
        'vertical' => array(
          'style' => PHPExcel_Style_Border::BORDER_THIN,
        ),
        'bottom' => array(
          'style' => PHPExcel_Style_Border::BORDER_THIN,
        ), 
        'horizontal' => array(
          'style' => PHPExcel_Style_Border::BORDER_THIN,
        ), 

      ),
      'fill' => array(
        'type' => PHPExcel_Style_Fill::FILL_SOLID,
        'startcolor' => array(
          'argb' => 'FFFFFFFF',
        ),
      ),
    );
    
      $styleArray1 = array(
      'font' => array(
        'name' => 'Arial',
        'size' => '8',
      ),
      'borders' => array(
        'left' => array(
          'style' => PHPExcel_Style_Border::BORDER_THIN,
        ),
        'right' => array(
          'style' => PHPExcel_Style_Border::BORDER_THIN,
        ),
        'vertical' => array(
          'style' => PHPExcel_Style_Border::BORDER_THIN,
        ),
        'bottom' => array(
          'style' => PHPExcel_Style_Border::BORDER_THIN,
        ), 
        'horizontal' => array(
          'style' => PHPExcel_Style_Border::BORDER_THIN,
        ), 

      ),
      'fill' => array(
        'type' => PHPExcel_Style_Fill::FILL_SOLID,
        'startcolor' => array(
          'argb' => '2F4F4F',
        ),
      ),
    );
    
      $styleArray2 = array(
      'font' => array(
        'name' => 'Arial',
        'size' => '8',
      ),
      'borders' => array(
        'left' => array(
          'style' => PHPExcel_Style_Border::BORDER_THIN,
        ),
        'right' => array(
          'style' => PHPExcel_Style_Border::BORDER_THIN,
        ),
        'vertical' => array(
          'style' => PHPExcel_Style_Border::BORDER_THIN,
        ),
        'bottom' => array(
          'style' => PHPExcel_Style_Border::BORDER_THIN,
        ), 
        'horizontal' => array(
          'style' => PHPExcel_Style_Border::BORDER_THIN,
        ), 

      ),
      'fill' => array(
        'type' => PHPExcel_Style_Fill::FILL_SOLID,
        'startcolor' => array(
          'argb' => '7FFFD4',
        ),
      ),
    );


    $Month="Февраль";
    $Title='Отчет 1 все звонки за'.$Month;
    $aSheet = $objPHPExcel->getActiveSheet();
	// Ориентация страницы и  размер листа
    $aSheet->getPageSetup()
	->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_PORTRAIT);
    $aSheet->getPageSetup()
	->SetPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4);
	//		        // Поля документа
    $aSheet->getPageMargins()->setTop(1);
    $aSheet->getPageMargins()->setRight(0.75);
    $aSheet->getPageMargins()->setLeft(0.75);
    $aSheet->getPageMargins()->setBottom(1);
  // Название листа
    $aSheet->setTitle($Title);

  // Шапка и футер (при печати)
    $aSheet->getHeaderFooter()
	->setOddHeader('ООО Информсистемы');
    $aSheet->getHeaderFooter()
	->setOddFooter('&L&B'.$aSheet->getTitle().'&RСтраница &P из &N');

//      if(1){  // Настройки шрифта
//	$objPHPExcel->getDefaultStyle()->getFont()->setName('Arial');
//	$objPHPExcel->getDefaultStyle()->getFont()->setSize(8);
//      }
  // Настройки ширины колонок
	$aSheet->getColumnDimension('A')->setWidth(18);
	$aSheet->getColumnDimension('B')->setWidth(10);
	$aSheet->getColumnDimension('C')->setWidth(15);
	$aSheet->getColumnDimension('D')->setWidth(30);
	$aSheet->getColumnDimension('E')->setWidth(15);
	$aSheet->getColumnDimension('F')->setWidth(15);

  // Оформление ячеек и надписей
	$aSheet->mergeCells('A1:E1');
	$aSheet->getRowDimension('1')->setRowHeight(20);
	$aSheet->setCellValue('A1','ОАО Информсистемы');
	$aSheet->mergeCells('A2:E2');
	$aSheet->setCellValue('A2','Счет за месяц '.$Month);
	$aSheet->mergeCells('A4:C4');
	$aSheet->setCellValue('A4','Дата создания отчета');
	$aSheet->getStyle('D4')->getNumberFormat()
	->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX14);

  //оформление колонок счета на листе
	$aSheet->setCellValue('A5',$GUI_LANG['DateOfCall']);
	$aSheet->getStyle('A5',$GUI_LANG['DateOfCall'])->getAlignment()->setWrapText(true);
	$aSheet->setCellValue('B5',$GUI_LANG['InternalPhone']);
	$aSheet->getStyle('B5',$GUI_LANG['InternalPhone'])->getAlignment()->setWrapText(true);
	$aSheet->setCellValue('C5',$GUI_LANG['Number']);
	$aSheet->setCellValue('D5',$GUI_LANG['Direction']);

      
      $aSheet->getStyle('A1:E8')->applyFromArray($styleArray);
      
    
  
  }
  
  if(empty($export))
  { // печатаем строки на листе

/*
    $iterator=0;
    while (!$resOrgInn->EOF) 
    { //цикл заполнения таблицы итоговой суммы по всем организациям $resOrgInn
      
      
      $row = $resOrgInn->fields;
      $OrgFullName=$row[0];
      $OrgInn=$row[1];
      $tarif=$row[2];

//var_dump($OrgInn);
      
      //--------удалить временную таблицу
      //$conn->Execute($qDropTable);
           if (strcmp($OrgInn,"2508001449")==0)
           {
               $qTrunkPart="AND n.createtrunk ='11'
               AND (substring(n.numberfromdial from '......$')
               NOT IN (select onumber from orgphonebook where
               onumber LIKE '61%' AND description='2' OR onumber LIKE '79%'
           ))";
           }
           else
           {
           $qTrunkPart="AND (substring(n.numberfromdial from '......$')
           IN (select onumber from orgphonebook where inn='".$OrgInn."' )
           OR (n.createstation!='0' AND n.createstation
           IN  (select intnumber from orgphonebook where inn='".$OrgInn."')))";
      }
      
  //    if($debug) echo $qTemp."<br>";
  //    $conn->Execute($qTemp);
      
 //    $conn->Execute($qDropTable);      
      
      
      $resOrgInn->MoveNext();
      $iterator=$iterator+1;
    }
*/
  }
  else
  {// печатаем строки на листе Да, это действительно экспорт!
    
	$iterator=0;
	while (!$resOrgInn->EOF) 
	{ //цикл заполнения таблицы итоговой суммы по всем организациям $resOrgInn
 
      
		$row = $resOrgInn->fields;
		$OrgFullName=$row[0];
		$OrgInn=$row[1];
		$tarif=$row[2];


		$qVoipMG="WITH voip1 AS (
		SELECT h323sessid,pg_prefix(regexp_replace(v.dnis::text,'^[1-9]{4}','')) AS prefix,ani,dnis
		FROM voip AS v
		WHERE v.setuptime >= '".$from_date."' AND v.setuptime <= '".$to_date."'
		AND v.direction='answer' AND v.tech='Telephony'
		AND substring(v.dnis from '^....') IN ('5654','5754','5854','6641','6642','6643','6654','6655','3155')
		AND pg_prefix(regexp_replace(v.dnis::text,'^[1-9]{4}','')) NOT LIKE '7800%'
		AND (substring(v.ani from '......$') IN (select onumber from orgphonebook where inn='".$OrgInn."' )
		OR (substring(v.ani from '....$')  IN  (select intnumber from orgphonebook where inn='".$OrgInn."')))
		AND v.dur !='0' )
		select v.setuptime,v1.ani,v.dnis,d.name,interval_round(v.endtime -v.conntime,INTERVAL '1 second') 
		,pg_get_price('2014-03-01 01:01:00','2014-03-01 01:02:00',v1.prefix,'1')
		,pg_get_price(v.conntime,v.endtime,v1.prefix,'1')::numeric
		FROM voip AS v, voip1 AS v1
		INNER JOIN destinations AS d ON v1.prefix=d.prefix
		WHERE 
		v.h323sessid=v1.h323sessid AND 
		v.setuptime >= '".$from_date."' AND v.setuptime <= '".$to_date."'
		AND v.direction='originate' AND v.tech='VoIP'
		AND v.dur !='0'
		AND v.stisdn !='11'
		AND d.direction_code='RUS'
		ORDER BY 1";
		$qVoipMGSum="WITH voip1 AS (
		SELECT h323sessid,ani,pg_prefix(regexp_replace(v.dnis::text,'^[1-9]{4}','')) AS prefix
		FROM voip AS v
		WHERE v.setuptime >= '".$from_date."' AND v.setuptime <= '".$to_date."'
		AND v.direction='answer' AND v.tech='Telephony'
		AND substring(v.dnis from '^....') IN ('5654','5754','5854','6641','6642','6643','6654','6655','3155')
		AND pg_prefix(regexp_replace(v.dnis::text,'^[1-9]{4}','')) NOT LIKE '7800%'
		AND v.dur !='0' 
		AND (substring(v.ani from '......$') IN (select onumber from orgphonebook where inn='".$OrgInn."' )
		OR (substring(v.ani from '....$')  IN  (select intnumber from orgphonebook where inn='".$OrgInn."'))))
		select sum(pg_get_price(v.conntime,v.endtime,v1.prefix,'1'))::numeric
		FROM voip AS v, voip1 AS v1
		INNER JOIN destinations AS d ON v1.prefix=d.prefix
		WHERE 
		v.h323sessid=v1.h323sessid AND 
		v.setuptime >= '".$from_date."' AND v.setuptime <= '".$to_date."'
		AND v.direction='originate' AND v.tech='VoIP'
		AND v.dur !='0'
		AND v.stisdn !='11'
		AND d.direction_code='RUS'";
		$qVoipMN="WITH voip1 AS (
		SELECT h323sessid,pg_prefix(regexp_replace(v.dnis::text,'^[1-9]{4}','')) AS prefix,ani,dnis
		FROM voip AS v
		WHERE v.setuptime >= '".$from_date."' AND v.setuptime <= '".$to_date."'
		AND v.direction='answer' AND v.tech='Telephony'
		AND substring(v.dnis from '^....') IN ('5654','5754','5854','6641','6642','6643','6654','6655','3155')
		AND pg_prefix(regexp_replace(v.dnis::text,'^[1-9]{4}','')) NOT LIKE '7800%'
		AND (substring(v.ani from '......$') IN (select onumber from orgphonebook where inn='".$OrgInn."' )
		OR (substring(v.ani from '....$')  IN  (select intnumber from orgphonebook where inn='".$OrgInn."')))
		AND v.dur !='0' )
		select v.setuptime,v1.ani,v.dnis,d.name,interval_round(v.endtime -v.conntime,INTERVAL '1 second') 
		,pg_get_price('2014-03-01 01:01:00','2014-03-01 01:02:00',v1.prefix,'1')
		,pg_get_price(v.conntime,v.endtime,v1.prefix,'1')::numeric
		FROM voip AS v, voip1 AS v1
		INNER JOIN destinations AS d ON v1.prefix=d.prefix
		WHERE 
		v.h323sessid=v1.h323sessid AND 
		v.setuptime >= '".$from_date."' AND v.setuptime <= '".$to_date."'
		AND v.direction='originate' AND v.tech='VoIP'
		AND v.dur !='0'
		AND v.stisdn !='11'
		AND d.direction_code!='RUS'
		ORDER BY 1";
		$qVoipMNSum="WITH voip1 AS (
		SELECT h323sessid,ani,pg_prefix(regexp_replace(v.dnis::text,'^[1-9]{4}','')) AS prefix
		FROM voip AS v
		WHERE v.setuptime >= '".$from_date."' AND v.setuptime <= '".$to_date."'
		AND v.direction='answer' AND v.tech='Telephony'
		AND substring(v.dnis from '^....') IN ('5654','5754','5854','6641','6642','6643','6654','6655','3155')
		AND pg_prefix(regexp_replace(v.dnis::text,'^[1-9]{4}','')) NOT LIKE '7800%'
		AND v.dur !='0' 
		AND (substring(v.ani from '......$') IN (select onumber from orgphonebook where inn='".$OrgInn."' )
		OR (substring(v.ani from '....$')  IN  (select intnumber from orgphonebook where inn='".$OrgInn."'))))
		select sum(pg_get_price(v.conntime,v.endtime,v1.prefix,'1'))::numeric
		FROM voip AS v, voip1 AS v1
		INNER JOIN destinations AS d ON v1.prefix=d.prefix
		WHERE 
		v.h323sessid=v1.h323sessid AND 
		v.setuptime >= '".$from_date."' AND v.setuptime <= '".$to_date."'
		AND v.direction='originate' AND v.tech='VoIP'
		AND v.dur !='0'
		AND v.stisdn !='11'
		AND d.direction_code!='RUS'";
		$qVoipMGMNSum="WITH voip1 AS (
		SELECT h323sessid,ani,pg_prefix(regexp_replace(v.dnis::text,'^[1-9]{4}','')) AS prefix
		FROM voip AS v
		WHERE v.setuptime >= '".$from_date."' AND v.setuptime <= '".$to_date."'
		AND v.direction='answer' AND v.tech='Telephony'
		AND substring(v.dnis from '^....') IN ('5654','5754','5854','6641','6642','6643','6654','6655','3155')
		AND pg_prefix(regexp_replace(v.dnis::text,'^[1-9]{4}','')) NOT LIKE '7800%'
		AND v.dur !='0' 
		AND (substring(v.ani from '......$') IN (select onumber from orgphonebook where inn='".$OrgInn."' )
		OR (substring(v.ani from '....$')  IN  (select intnumber from orgphonebook where inn='".$OrgInn."'))))
		select sum(pg_get_price(v.conntime,v.endtime,v1.prefix,'1'))::numeric
		FROM voip AS v, voip1 AS v1
		WHERE 
		v.h323sessid=v1.h323sessid AND 
		v.setuptime >= '".$from_date."' AND v.setuptime <= '".$to_date."'
		AND v.direction='originate' AND v.tech='VoIP'
		AND v.dur !='0'
		AND v.stisdn !='11'";
 
		if($debug) echo $qVoipMG."<br><br>";
		$resVoipMG=$conn->Execute($qVoipMG);
		if($debug) echo $qVoipMN."<br>";
		$resVoipMN=$conn->Execute($qVoipMN);

 
 /// если нет строк по обоим запросам то не делаем ничего
  
		if (($resVoipMG && $resVoipMG->RecordCount() > 0) ||($resVoipMN && $resVoipMN->RecordCount() > 0))
//		if(1)
		{
//var_dump($OrgInn);
// на общем листе вносим строку с наименованием организации
			$aSheet->setCellValue('A'.($iterator+6), $OrgFullName);
			$aSheet->getStyle('A'.($iterator+6), $OrgFullName)->getAlignment()->setWrapText(true);
			$aSheet->getRowDimension(($iterator+6))->setRowHeight(-1);
	
 // блок создания листа каждой организации
			$objPHPExcel->createSheet();
 // Блок выбора листа организации
// Устанавливаем индекс активного листа
			$objPHPExcel->setActiveSheetIndex($iterator+1);
/// выбираем лист для организации (здесь заполняем строки по звонкам	  
			$aSheet = $objPHPExcel->getActiveSheet();	
// блок оформления листа каждой организации
	 // Название листа
			$aSheet->setTitle($OrgInn);
	 // устанавливаем ширину колонок
			$aSheet->getColumnDimension('A')->setWidth(25);
			$aSheet->getColumnDimension('B')->setWidth(14);
			$aSheet->getColumnDimension('C')->setWidth(14);
			$aSheet->getColumnDimension('D')->setWidth(14);
			$aSheet->getColumnDimension('E')->setWidth(14);
			$aSheet->getColumnDimension('F')->setWidth(8);
			$aSheet->getColumnDimension('G')->setWidth(8);
			$aSheet->getColumnDimension('H')->setWidth(8);
			$aSheet->getColumnDimension('I')->setWidth(8);
			$aSheet->getColumnDimension('J')->setWidth(10);
	// вызываем запрос для получения сумм по направлениям межгород дневной трафик и записываем на лист qOrgMGDay

			$iterator1=0;
// если есть строки звонков по межгороду оформляем и записываем на лист	  
			if ($resVoipMG && $resVoipMG->RecordCount() > 0) 
			{
				$aSheet->mergeCells('A'.($iterator1+1).':H'.($iterator1+1));
				$aSheet->setCellValue('A'.($iterator1+1),'МЕЖДУГОРОДНИЕ ЗВОНКИ');
				$aSheet->getStyle('A'.($iterator1+1))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

  //оформление колонок счета на листе
				$aSheet->setCellValue('A'.($iterator1+2),'Организация');
				$aSheet->getStyle('A'.($iterator1+2),'Организация')->getAlignment()->setWrapText(true);
				$aSheet->getStyle('A'.($iterator1+2))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
				$aSheet->setCellValue('B'.($iterator1+2),'Дата звонка');
				$aSheet->getStyle('B'.($iterator1+2),'Дата звонка')->getAlignment()->setWrapText(true);
				$aSheet->getStyle('B'.($iterator1+2))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
				$aSheet->setCellValue('C'.($iterator1+2),'Внутренний номер');
				$aSheet->getStyle('C'.($iterator1+2),'Внутренний номер')->getAlignment()->setWrapText(true);
				$aSheet->getStyle('C'.($iterator1+2))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
				$aSheet->setCellValue('D'.($iterator1+2),'Исходящий номер');
				$aSheet->getStyle('D'.($iterator1+2),'Исходящий номер')->getAlignment()->setWrapText(true);
				$aSheet->getStyle('D'.($iterator1+2))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
				$aSheet->setCellValue('E'.($iterator1+2),'Регион');
				$aSheet->getStyle('E'.($iterator1+2),'Регион')->getAlignment()->setWrapText(true);
				$aSheet->getStyle('E'.($iterator1+2))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
				$aSheet->setCellValue('F'.($iterator1+2),'Длительность');
				$aSheet->getStyle('F'.($iterator1+2),'Длительность')->getAlignment()->setWrapText(true);
				$aSheet->getStyle('F'.($iterator1+2))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
				$aSheet->setCellValue('G'.($iterator1+2),'Тариф');
				$aSheet->getStyle('G'.($iterator1+2),'Тариф')->getAlignment()->setWrapText(true);
				$aSheet->getStyle('G'.($iterator1+2))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
				$aSheet->setCellValue('H'.($iterator1+2),'Сумма');
				$aSheet->getStyle('H'.($iterator1+2),'Сумма')->getAlignment()->setWrapText(true);
				$aSheet->getStyle('H'.($iterator1+2))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

			
				while (!$resVoipMG->EOF) 
				{// цикл заполняем счет по организации межгород
					$row1 = $resVoipMG->fields;

					$Calltime=$row1[0];
					$NumberTo=$row1[1];
					$NumberFrom=$row1[2];
					$Direction=$row1[3];
					$Duration=$row1[4];
					$Tarif=$row1[5];
					$Price=$row1[6];

					$aSheet->getRowDimension(($iterator1+3))->setRowHeight(-1);
					$aSheet->setCellValue('A'.($iterator1+3), $OrgFullName);
					$aSheet->getStyle('A'.($iterator1+3), $OrgFullName)->getAlignment()->setWrapText(true);
					$aSheet->setCellValueExplicit('B'.($iterator1+3),$Calltime, PHPExcel_Cell_DataType::TYPE_STRING);
					$aSheet->setCellValueExplicit('C'.($iterator1+3),$NumberFrom, PHPExcel_Cell_DataType::TYPE_STRING);
					$aSheet->setCellValueExplicit('D'.($iterator1+3),$NumberTo, PHPExcel_Cell_DataType::TYPE_STRING);
					$aSheet->setCellValueExplicit('E'.($iterator1+3),$Direction, PHPExcel_Cell_DataType::TYPE_STRING);
					$aSheet->getStyle('E'.($iterator1+3), $Direction)->getAlignment()->setWrapText(true);
					$aSheet->setCellValueExplicit('F'.($iterator1+3),$Duration, PHPExcel_Cell_DataType::TYPE_STRING);
					$aSheet->setCellValueExplicit('G'.($iterator1+3),$Tarif, PHPExcel_Cell_DataType::TYPE_STRING);
					$aSheet->setCellValueExplicit('H'.($iterator1+3),$Price, PHPExcel_Cell_DataType::TYPE_STRING);
	      
					$resVoipMG->MoveNext();
					$iterator1=$iterator1+1;
				}

				$aSheet->mergeCells('A'.($iterator1+3).':G'.($iterator1+3));
				$aSheet->setCellValue('A'.($iterator1+3),'МЕЖДУГОРОДНИЕ ЗВОНКИ ИТОГО');
				$aSheet->getStyle('A'.($iterator1+3))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
				$idColor=$iterator1+3;
 // вызываем запрос для получения итоговой суммы по направлениям межгород
				if($debug) echo $qVoipMGSum."<br>";
				$resVoipMGSum = $conn->Execute($qVoipMGSum);
				if ($resVoipMGSum && $resVoipMGSum->RecordCount() > 0) 
				{
					$row1 = $resVoipMGSum->fields;
					$Price=$row1[0];
					$aSheet->setCellValue('H'.($iterator1+3), $Price);
				}
			}
	// вызываем запрос для получения сумм по направлениям международные дневной трафик и записываем на лист qOrgMNDay

			if ($resVoipMN && $resVoipMN->RecordCount() > 0) 
			{
				$iterator1=$iterator1+4;  //Отступаем на размер оформления
				$aSheet->mergeCells('A'.($iterator1).':H'.($iterator1));
				$aSheet->mergeCells('A'.($iterator1+1).':H'.($iterator1+1));
				$aSheet->setCellValue('A'.($iterator1+1),'МЕЖДУНАРОДНЫЕ ЗВОНКИ');
				$aSheet->getStyle('A'.($iterator1+1))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
 //оформление колонок счета на листе
				$aSheet->setCellValue('A'.($iterator1+2),'Организация');
				$aSheet->getStyle('A'.($iterator1+2),'Организация')->getAlignment()->setWrapText(true);
				$aSheet->getStyle('A'.($iterator1+2))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
				$aSheet->setCellValue('B'.($iterator1+2),'Дата звонка');
				$aSheet->getStyle('B'.($iterator1+2),'Дата звонка')->getAlignment()->setWrapText(true);
				$aSheet->getStyle('B'.($iterator1+2))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
				$aSheet->setCellValue('C'.($iterator1+2),'Внутренний номер');
				$aSheet->getStyle('C'.($iterator1+2),'Внутренний номер')->getAlignment()->setWrapText(true);
				$aSheet->getStyle('C'.($iterator1+2))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
				$aSheet->setCellValue('D'.($iterator1+2),'Исходящий номер');
				$aSheet->getStyle('D'.($iterator1+2),'Исходящий номер')->getAlignment()->setWrapText(true);
				$aSheet->getStyle('D'.($iterator1+2))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
				$aSheet->setCellValue('E'.($iterator1+2),'Регион');
				$aSheet->getStyle('E'.($iterator1+2),'Регион')->getAlignment()->setWrapText(true);
				$aSheet->getStyle('E'.($iterator1+2))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
				$aSheet->setCellValue('F'.($iterator1+2),'Длительность');
				$aSheet->getStyle('F'.($iterator1+2),'Длительность')->getAlignment()->setWrapText(true);
				$aSheet->getStyle('F'.($iterator1+2))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
				$aSheet->setCellValue('G'.($iterator1+2),'Тариф');
				$aSheet->getStyle('G'.($iterator1+2),'Тариф')->getAlignment()->setWrapText(true);
				$aSheet->getStyle('G'.($iterator1+2))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
				$aSheet->setCellValue('H'.($iterator1+2),'Сумма');
				$aSheet->getStyle('H'.($iterator1+2),'Сумма')->getAlignment()->setWrapText(true);
				$aSheet->getStyle('H'.($iterator1+2))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

				while (!$resVoipMN->EOF) 
				{// цикл заполняем счет по организации межгород
					$row1 = $resVoipMN->fields;

					$Calltime=$row1[0];
					$NumberTo=$row1[1];
					$NumberFrom=$row1[2];
					$Direction=$row1[3];
					$Duration=$row1[4];
					$Tarif=$row1[5];
					$Price=$row1[6];

					$aSheet->getRowDimension(($iterator1+3))->setRowHeight(-1);
					$aSheet->setCellValue('A'.($iterator1+3), $OrgFullName);
					$aSheet->getStyle('A'.($iterator1+3), $OrgFullName)->getAlignment()->setWrapText(true);
					$aSheet->setCellValueExplicit('B'.($iterator1+3),$Calltime, PHPExcel_Cell_DataType::TYPE_STRING);
					$aSheet->setCellValueExplicit('C'.($iterator1+3),$NumberFrom, PHPExcel_Cell_DataType::TYPE_STRING);
					$aSheet->setCellValueExplicit('D'.($iterator1+3),$NumberTo, PHPExcel_Cell_DataType::TYPE_STRING);
					$aSheet->setCellValueExplicit('E'.($iterator1+3),$Direction, PHPExcel_Cell_DataType::TYPE_STRING);
					$aSheet->getStyle('E'.($iterator1+3), $Direction)->getAlignment()->setWrapText(true);
					$aSheet->setCellValueExplicit('F'.($iterator1+3),$Duration, PHPExcel_Cell_DataType::TYPE_STRING);
					$aSheet->setCellValueExplicit('G'.($iterator1+3),$Tarif, PHPExcel_Cell_DataType::TYPE_STRING);
					$aSheet->setCellValueExplicit('H'.($iterator1+3),$Price, PHPExcel_Cell_DataType::TYPE_STRING);

					$resVoipMN->MoveNext();
					$iterator1=$iterator1+1;
				}
				$aSheet->mergeCells('A'.($iterator1+3).':G'.($iterator1+3));
				$aSheet->setCellValue('A'.($iterator1+3),'МЕЖДУНАРОДНЫЕ ЗВОНКИ ИТОГО');
				$aSheet->getStyle('A'.($iterator1+3))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

 // вызываем запрос для получения итоговой суммы по направлениям межгород международные и записываем на лист
				if($debug) echo $qVoipMNSum."<br>";
				    $resVoipMNSum = $conn->Execute($qVoipMNSum);

				if ($resVoipMNSum && $resVoipMNSum->RecordCount() > 0) 
				{
				    $row1 = $resVoipMNSum->fields;
				    $Price=$row1[0];
				    $aSheet->setCellValue('H'.($iterator1+3), $Price);
				}
			}

 // вызываем запрос для получения итоговой суммы и записываем на лист
			$aSheet->mergeCells('A'.($iterator1+4).':G'.($iterator1+4));
			$aSheet->setCellValue('A'.($iterator1+4),'ЗВОНКИ ИТОГО');
			$aSheet->getStyle('A'.($iterator1+4))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
			$aSheet->getStyle('A1:H'.($iterator1+4))->applyFromArray($styleArray);
			$aSheet->getStyle('A1:H1')->applyFromArray($styleArray1);
			$aSheet->getStyle('A2:H2')->applyFromArray($styleArray2);
			$aSheet->getStyle('A'.($iterator1+4).':H'.($iterator1+4))->applyFromArray($styleArray2);
			$aSheet->getStyle('A'.($iterator1+3).':H'.($iterator1+3))->applyFromArray($styleArray2);
			$aSheet->getStyle('A'.($idColor).':H'.($idColor))->applyFromArray($styleArray2);
			if(($idColor+2)<($iterator1+4))
			{
				$aSheet->getStyle('A'.($idColor+2).':H'.($idColor+2))->applyFromArray($styleArray1);
			}
			if($debug) echo $qVoipMGMNSum."<br>";

			$resVoipMGMNSum = $conn->Execute($qVoipMGMNSum);
			$row1 = $resVoipMGMNSum->fields;
			$OrgSumma=$row1[0];

			$aSheet->setCellValue('H'.($iterator1+4), $OrgSumma);

			$iterator=$iterator+1;
			$objPHPExcel->setActiveSheetIndex(0);
			$aSheet = $objPHPExcel->getActiveSheet();	

			$aSheet->setCellValue('E'.($iterator+5), $OrgSumma);
		}
		
	//--------удалить временную таблицу
	$resOrgInn->MoveNext();

	}

//		if($debug) echo $qDropTable."<br>";
//      $conn->Execute($qDropTable);  
     // Блок выбора листа номер 1
	// Устанавливаем индекс активного листа
 }

 if(empty($export))
  { // печатаем строки на листе
  }
  else
    // печатаем строки на листе Да, это действительно экспорт!
  {// блок запроса и выборки полной итоговой суммы $qOrgSumTotal
//	$sumOrgTotal=$row[0];
	$aSheet->mergeCells('A'.($iterator+6).':D'.($iterator+6));
	$aSheet->setCellValue('A'.($iterator+6),'ЗВОНКИ ИТОГО');
	$aSheet->getStyle('A1:E'.($iterator+6))->applyFromArray($styleArray);
	$aSheet->setCellValue('E'.($iterator+6), '=SUM(E6:E'.($iterator+5).')');
  }
  if(empty($export))
  { // печатаем строки на листе
  }
  else
  {// печатаем строки на листе Да, это действительно экспорт!//экспорт отдаем файл пользователю
    // Redirect output to a client’s web browser (Excel2007)
    header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
    header('Content-Disposition: attachment;filename="01simple.xlsx"');
    header('Cache-Control: max-age=0');
    // If you're serving to IE 9, then the following may be needed
    header('Cache-Control: max-age=1');
    
    // If you're serving to IE over SSL, then the following may be needed
    header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
    header ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); // always modified
    header ('Cache-Control: cache, must-revalidate'); // HTTP/1.1
    header ('Pragma: public'); // HTTP/1.0
    
    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
    $objWriter->save('php://output');
    exit;
  }
}  
else
{ // ничего для вывода нет
  print("<br><font size=+1>hhhhh".$GUI_LANG['NoSuchData']."</font>");
}

?>
